

package com.hazelcast.internal.metrics.collectors;

import com.hazelcast.internal.metrics.MetricDescriptor;
import com.hazelcast.internal.metrics.MetricsRegistry;

/**
 * With the {@link MetricsCollector} the metrics registered in the
 * {@link MetricsRegistry} can be collected.
 */
public interface MetricsCollector {

    void collectLong(MetricDescriptor descriptor, long value);

    void collectDouble(MetricDescriptor descriptor, double value);

    void collectException(MetricDescriptor descriptor, Exception e);

    void collectNoValue(MetricDescriptor descriptor);

}
